// 处理业务逻辑的中间件，读取某一个json文件的数据
const path = require('path')
const fileUtils = require('../utils/file_utils')
module.exports = async (ctx, next) => {
  // 根据url(响应对应数据)
  let url = ctx.request.url  // /api/map   ../data/map.json
  let filePath = url.replace('/api/', '')   // map
  filePath = '../data/' + filePath + '.json'    // ../data/map.json
  filePath = path.join(__dirname, filePath)   // 这一步：F:\张向阳\张向阳综合文件\Echarts\day03\koa_server\data\serve.json
  // 读取成功
  try {
    const result = await fileUtils.getFileJsonData(filePath)
    ctx.response.body = result // 响应读取后的数据
  } catch (error) {
    // 读取失败
    const message = {
      code: 404,
      message: '响应数据失败，未找到相关资源'
    }
    ctx.response.body = message
  }
  await next()
}